<?php

require_once('../krn_table.php');
require_once('../commons_constantes.php');
require_once('../commons_atom.php');

tableDefinition
	(TABLE_DEFINITION
	,'tblTypeCeremonie'
	,WEDDING_DBNAME
	,'TYPE_CEREMONIE'
	,array
		('ID'
		,'CODE'
		,'LIBELLE'
		)
	);
	
/***********************************************************************************************************
 * Définition des fonctions d'interactions
 ***********************************************************************************************************/

/**
 * Retourne un tableau associatif contenant comme clé un index allant de 0 au nombre d'éléments moins un
 * et comme valeur, un tableau associatif contenant les colonnes de la table<br />
 * array (0 => array('ID' => 12, 'CODE' => 'valeurCode', 'LIBELLE' => 'valeurLibellé'))<br />
 * Retourne un tableau vide si aucun type d'adresse n'est défini
 *
 * @param $idLivreOr identifiant du message du livre d'or cherché
 * @return array : un tableau vide ou associatif nom de colonne - valeur
 */
function getAllTypeCeremonie() {
	static $allTypeCeremonie = null;
	if (!is_null($allTypeCeremonie)) {
		return $allTypeCeremonie;
	}
	
	$allTypeCeremonie = select('tblTypeCeremonie', '*');
	return $allTypeCeremonie;
}
	
/**
 * Retourne un tableau associatif contenant comme clé un identifiant d'un type d'adresse donné
 * et comme valeur, un tableau associatif contenant le reste des colonnes de la table<br />
 * array (idTypeAdresse => array('ID' => idTypeAdresse, 'CODE' => 'valeurCode', 'LIBELLE' => 'valeurLibellé'))<br />
 * Retourne un tableau vide si aucun type d'adresse n'est défini
 *
 * @param $idLivreOr identifiant du message du livre d'or cherché
 * @return array : un tableau vide ou associatif nom de colonne - valeur
 */
function getAllTypeCeremonieById() {
	static $allTypeCeremonieById = null;
	if (!is_null($allTypeCeremonieById)) {
		return $allTypeCeremonieById;
	}
	$allTypeCeremonie = getAllTypeCeremonie();
	$allTypeCeremonieById = array();
	
	if (count($allTypeCeremonie) > 0) {
		foreach ($allTypeCeremonie as $typeAdresse) {
			$allTypeCeremonieById[$typeAdresse['ID']] = array
														('ID'		=> $typeAdresse['ID']
														,'CODE'		=> $typeAdresse['CODE']
														,'LIBELLE'	=> $typeAdresse['LIBELLE']
														);
		}
	}
	
	return $allTypeCeremonieById;
}

/**
 * Retourne un tableau associatif contenant comme clé un identifiant d'un type d'adresse donné
 * et comme valeur, un tableau associatif contenant le reste des colonnes de la table<br />
 * array ('codeAdresse' => array('ID' => idTypeAdresse, 'CODE' => 'codeAdresse', 'LIBELLE' => 'valeurLibellé'))<br />
 * Retourne un tableau vide si aucun type d'adresse n'est défini
 *
 * @param $idLivreOr identifiant du message du livre d'or cherché
 * @return array : un tableau vide ou associatif nom de colonne - valeur
 */
function getAllTypeCeremonieByCode() {
	static $allTypeCeremonieByCode = null;
	if (!is_null($allTypeCeremonieByCode)) {
		return $allTypeCeremonieByCode;
	}
	$allTypeCeremonie = getAllTypeCeremonie();
	$allTypeCeremonieByCode = array();
	
	if (count($allTypeCeremonie) > 0) {
		foreach ($allTypeCeremonie as $typeAdresse) {
			$allTypeCeremonieByCode[$typeAdresse['CODE']] = array
														('ID'		=> $typeAdresse['ID']
														,'CODE'		=> $typeAdresse['CODE']
														,'LIBELLE'	=> $typeAdresse['LIBELLE']
														);
		}
	}
	
	return $allTypeCeremonieByCode;
}
